Horizon: Zero Dawn

How do you do that?

Oh Nvm. Its Nvidia only lol.

How do you get Reshade working via local method?

ReShade64.dll as D3D12.dll I’d imagine if SpecialK64.dll is DXGI.dll :slight_smile:

The two sleepless options in SpecialK now DXGI.ini set to off or false might also help if ReShade (Currently at version 4.7.0) is crashing on start when loaded together with SpecialK.

Also seems the snow deformation bug can be un-broken wearing certain armor which is odd but oh well another glitch.

Unconfirmed rumors about the patch also sorting it so HDR is actually 10-bit too and not 8-bit but I have no way to check that.

Thanks for the reply.

I still get instant crashes on launching the game with Special K + Reshade together. I can run them both individually.

I have to run SK thru global method and run ReShade as DXGI.dll file inside folder. Otherwise it won’t work for me.

I wish the game were crashing, it’s stable but all the triangle mess spewed everywhere makes it unplayable. It was funny for a while, but now all those deformed meshes just make me immediately stop playing the game.

What were your exact steps? Because it’s confusing. I either get MSG sound crashes, crashes or it doesn’t inject at all.

The one thing I know from a discussion on the Steam community forums is that ReShade has a problem if these two sleepless options are enabled in SpecialK although ReShade from looking at the Github code doesn’t seem to actually have any sleepless calls but for some reason it hits a crash on start anyway.

[Render.FrameRate]
SleeplessRenderThread=false
SleeplessWindowThread=false

But then there’s load order possible problems and more with these low-level API’s so maybe ReShade has to be DXGI.dll and not D3D12.dll or the game might call on D3D11 so you could use that to have the file as D3D11.dll loading it as that instead.

Sounds like HolyDeath3000 uses SKIF and just loads SpecialK64.dll globally and then ReShade is local as DXGI.dll possibly with the embedded newer SpecialK64.dll Kaldaien posted a bit further up in this topic.

And then third party program compatibility on that but hopefully that’s not a problem, SpecialK tends to work pretty well with some exceptions and then the game would be crashing on start anyway due to that.
(Rivatuner I believe might take some tweaking to get compatible if the newer versions are still compatible.)

SteamAPI has a 20 ms sleep in some older versions, it fails to initialize if that sleep is ignored. That’s not a very good design, and they don’t use it anymore, but it happens.

Incidentally, if you want to see where ReShade actually uses Sleep, you’re looking in the wrong code :slight_smile: It uses MinHook, which is known to suspend all threads and then use a sleep-backed spinlock while it re-writes code hooks. I re-wrote its hook code for the custom version in Special K, but I think the official version will still potentially deadlock in MinHook if sleep fails.

ReShade’s MinHook issues mostly affect OpenGL, since D3D is wrapped rather than hooked.

1 Like

Yeah the custom ReShade version is probably the more compatible but I don’t know how well it fares in D3D12 due to how many D3D12 and Vulkan code additions and changes that happened after version 4.0.0 and are still happening in the recent updates to ReShade.

Forgot it used MinHook too, should test it a bit more once I get around to trying the game myself but with the current heat wave going on not much happens although it should start lowering down later this week though as usual instead there’s going to be a bit of rain and thunder.

25 - 30 Celsius outside or 77 - 86 in Fahrenheit according to Google conversion, add an extra ten for indoor temps and the fan I used to push the air around at least well it gave up last month though it lasted a good six years at least unlike more modern hardware ha ha. :smiley:

Little bit more humidity and this would almost qualify as a beginner level sauna, just a few more days and then the weather should correct over to appropriate Autumn conditions.

Well the game could do with another patch or three for the bigger still ongoing issues as well it just remains to be seen how much priority and effort the publisher is willing to spend on having the developers fix things up although I do wonder if the rumors on the game being delayed from it’s intended earlier 2020 release date is accurate and if it’s correct it was delayed to polish up the port some more what was the state of the game like back then anyway if it’s having all these various issues with this build?

I haven’t tried this fix myself as it uses steam_api64.dll to work, but it’s at least interesting to see that some issues supposedly are present in the memory allocator of the game.

Interesting to inject through the Steam API file but if it functions then why not without going via D3D or input related files.

What bugs though but I suppose there’s a variety of them and the resulting either memory leaks(?) or crashes from this so it sounds like another solid fix. :slight_smile:

EDIT: Ah maybe it’s a more permanent type of fix for the writing to zero thing that was previously attempted to be worked around by hex editing the game exe.
(Instead of over allocating memory or not freeing it up or leaking over time and what not or perhaps it’s a bit of everything depending on what the issues here are. Still that’s not too important long as this fixes or improves on whatever the issues are.)

EDIT: So now there’s SpecialK, Steam_Api64.dll here and the DXIL.dll file replacement for the D3D shader compiler and errors with broken effects (NVIDIA only?) though that’s less of a modded file more of taking the latest available and replacing the older one the game shipped with.

EDIT: There’s that file again.

EDIT: What’s with that game file anyway, reports as a daily/out of band version but it’s a older actual file going by the comments there, curious.

Great way to piss Valve off and make them chase you off-site.

Easily the stupidest choice of DLLs if you want to inject something by imitating a different DLL. dinput8.dll only has one symbol you have to export, SteamAPI has hundreds of them. Even pirates don’t do it correctly, so doing it for any reason other than pirating a game, is questionable.

Is this only for Nvidia Users? That DLL Fix file? For Memory Allocation Fix?

I would assume it’s RAM not VRAM so general memory fixes improving stability overall.
At least to the extent it can as from what it sounds like some later areas are very prone to frequent crashes and slowdowns whatever is going on in some parts of the game world or related.

I believe the modder in question is a part-time cracker as well, or at least I believe results that would suggest such a thing have come up in the past when I’ve made some tiny research into the mods/fixes he uploads to PCGW.

But if that’s the case it might be that he uses steam_api64.dll as the injection point simply due to convenience.

I don’t think so?

I don’t actually use that file myself as it relies on steam_api64.dll to be injected, so I don’t know anything more than what’s displayed in the description of the file.

Well I am testing it out and it makes my Map and settings load slower. But it does seem a bit more stable. I also found a way to fix the game from detecting my monitors in reverse order. Which seems to have fixed other issues. Another thing I noticed was that when game was properly detected on my HDR monitor with correct Display ID then it would allow me to turn on HDR Settings without having to turn on HDR in Monitor Display settings. Not sure if that’s part of the fix from the latest update.

I`m trying this dll, but It conflicts with specialk. Keyboard and mouse doesnt work.

Some of the bits in the file or the underlying Steam API might be stubbed out or not handled fully so that might be why, disabling Steam functionality in SpecialK (Silent=True) could work but will also disable the Steam functionality that could still be working and that SpecialK utilizes.

Input, screenshots, callback throttling, friends and achievements and probably a bit more.

EDIT: Especially if it’s built around something like Codex or Steam006 Steam API emulation or essentially cracks although this particular file is probably not a circumvention of the full DRM system as such.

The stuff that is needed works and the rest is zeroed / stubbed as it’s not required which is one reason why support got complicated by users without the mouse input icon denoting ownership on the Steam forums for topics like Nier and such.

Plus some lengthy commented source code sections on what to disable and why which…didn’t quite work and instead SpecialK has some funny reputation and misinformation that still persists unfortunately.

EDIT: Though I could also be wrong but if it’s a rebuilt Steam_Api64.dll file I would imagine it’d be difficult to write in and hook everything up and without source data this couldn’t be re-purposed into SpecialK or some other .dll for proxy loading.
(If that would even work at all before part of the game or game engine gets initialized and it’s too late to load such modifications into memory.)

I´m learning a lot of things here, Silent=true didnt work