Jump to content

Horizon Zero Dawn Memory Allocator Fix


About This File

This is for the Steam version of HZD. It fixes crashes caused by bugs in the memory allocator. Replace steam_api64.dll in "steamapps\common\Horizon Zero Dawn".

Debug dll is to get more information about crashes.

Password:pcgw


What's New in Version 1.4.0

Released

Changelog 1.1:
Fixed important bugs

Changelog 1.2:
Performance improvements

Changelog 1.3:
Added DX12 debug info

Changelog 1.4:
Fixed DX12 crashes





User Feedback

Recommended Comments

Hi!

Am I correct in assuming this acts as a crack and effectively disables Steam API related features as well as the ownership check of the Steam copy?

PCGW attempts to distance itself from cracks, so the use of steam_api64.dll as the DLL injection point makes it currently questionable whether we should approve the upload or not.

If possible, then I highly recommend using some other DLL as the injection point such as D3D12.dll or DXGI.dll.

Share this comment


Link to comment
Share on other sites

Hi Aemony. No it does not act as a crack and no checks or Steam API features are disabled. The dll is coded to work as closely as possible to the original dll from valve. I can change it if you feel it is necessary.

Share this comment


Link to comment
Share on other sites

17 hours ago, Steam006 said:

Hi Aemony. No it does not act as a crack and no checks or Steam API features are disabled. The dll is coded to work as closely as possible to the original dll from valve. I can change it if you feel it is necessary.

Hi, mouse and keyboard are not working on my end.

ryzen 3600
980ti

Windows 10 pro 2004

Share this comment


Link to comment
Share on other sites

On 8/16/2020 at 5:41 PM, Steam006 said:

Hi Aemony. No it does not act as a crack and no checks or Steam API features are disabled. The dll is coded to work as closely as possible to the original dll from valve. I can change it if you feel it is necessary.

Actually, could you please do that? Is there a different dependency DLL you could use?

Special K checks the sha1sum of SteamAPI DLLs against the hash in Steam's installed depot for the running AppID before enabling its Steamworks integration.

Your method of injection has unfortunately thrown a wrench into things. SK's not capable of displaying its UI in D3D12 at the moment, and thus is not displaying its designed warning informing users that parts of SK are non-functional due to a SteamAPI DLL that is different than ships with the game. It is my policy not to offer support to users if they are using an unofficial SteamAPI DLL, typically that happens only in the case of piracy and gets mistaken for some kind of "DRM." In reality, I use a lot of esoteric parts of SteamAPI and must validate the DLL before enabling my Steam features or most of these fake SteamAPI DLLs very quickly crash and waste my time.

 

Also, is the source code available by chance? I would love to review / contribute if I may.

Share this comment


Link to comment
Share on other sites

Achievements do not work if the SteamAPI DLL is loaded instead of the one that ships with the game, I've also noticed.

SK can manually load your patch without proxying SteamAPI (in this case, I have extracted it to .\FMAlloc\) and then Steam works as it is supposed to.

 

[Import.FMAlloc]
Filename=C:\Program Files (x86)\Steam\steamapps\common\Horizon Zero Dawn\FMAlloc\Debug\steam_api64.dll
When=Early
Role=ThirdParty
Architecture=x64

 

Leaving this here for anyone having trouble getting the two things to work together.

Share this comment


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...