VOGONS

Common searches


Far Cry

Topic actions

Reply 200 of 389, by VS11

User metadata
Rank Newbie
Rank
Newbie

When renaming wininet.dll to:

d3d8.dll/ddraw.dll/dinput.dll/msvfw32.dll/vorbisFile.dll/winmmbase.dll/xlive.dll - it loads, no reflections, just like with wininet.dll
d3d9.dll - error window "The procedure entry point Direct3DCreate9 could not be located in dynamic link library d3d9.dll" Next error window: "CRITICAL ERROR: Error loading DLL: XRenderD3D9.dll, error code 127" and then doesn't load.
dinput8.dll/dsound.dll - game seems to start loading and then unloads with no error, doesn't reach the loading logos phase or displaying any on screen
msacm32.dll - error window: "CRITICAL ERROR: Error loading DLL: CrySoundSystem.dll, error code 127" and then doesn't load

The memory issue doesn't lead to an application crash without alt-tabbing. Only when alt-tabbing out of the game and then after a while switching back to it, it usually happens. Never had a crash while testing ingame the level. Sometimes the crash appears without even any memory usage spike. Also, it happens with or without SilentPatch files in the Bin64 directory.

Reply 208 of 389, by CookiePLMonster

User metadata
Rank Newbie
Rank
Newbie
lowenz wrote:

I must say the loading times seem very expanded by wininet injection 😁

Pretty sure that's VSync. Injection itself doesn't affect performance at all.

VS11 wrote:
CrySystem.dll CryNetwork.dll MFC71.DLL they all load statically WININET.dll. […]
Show full quote

CrySystem.dll
CryNetwork.dll
MFC71.DLL
they all load statically WININET.dll.

In which case my wininet.dll should be loaded... I am slowly running out of ideas. Do you see wininet.dll loaded if you move it away and let the game load a system one? Does my one load fine when ASI is moved away?

Reply 209 of 389, by VS11

User metadata
Rank Newbie
Rank
Newbie

Do you see wininet.dll loaded if you move it away and let the game load a system one?

Yeah, I was wondering that myself the other day. And when the SilentPatch's wininet.dll is moved the "C:\windows\system32\WININET.dll" is loaded. When moved back, the SilentPatch's wininet.dll from Bin64 directory is loaded. It is loaded, but it is not seen in process explorer and v-sync or reflection don't work ingame ether.

I tried to keep only wininet.dll in Bin64 directory and moved SilentPatchFarCry.asi and still didn't appear in the process explorer or works ingame and can be moved while alt-tabbing too.

Wasn't this information at all useful? Looks like when it is renamed to d3d9 it gives a relevant information. Also, when renamed to dinput it seems to close just before when it should start loading. Also renaming to msacm32 seems promising. None of them work for now, though.

* d3d8.dll/ddraw.dll/dinput.dll/msvfw32.dll/vorbisFile.dll/winmmbase.dll/xlive.dll - it loads, no reflections, just like with wininet.dll
* d3d9.dll - error window "The procedure entry point Direct3DCreate9 could not be located in dynamic link library d3d9.dll" Next error window: "CRITICAL ERROR: Error loading DLL: XRenderD3D9.dll, error code 127" and then doesn't load.
* dinput8.dll/dsound.dll - game seems to start loading and then unloads with no error, doesn't reach the loading logos phase or displaying any on screen
* msacm32.dll - error window: "CRITICAL ERROR: Error loading DLL: CrySoundSystem.dll, error code 127" and then doesn't load

Does your loader need some latest version of runtime libraries(like latest .NET version) in order to work?

Reply 210 of 389, by CookiePLMonster

User metadata
Rank Newbie
Rank
Newbie

It's actually not my loader, but an Ultimate ASI Loader - and as far as I'm aware, it doesn't have any external dependencies. Should any be missing, I guess you'd be notified about missing DLL files anyway.

Renaming the DLL to other names only shows it can be loaded - it's expected to fail, as usually UAL works just fine as dinput8 or d3d9, but in the case of Far Cry wininet.dll support had to be added.

It sounds almost like wininet.dll ends up being a trusted DLL for you and the one from game directory gets rejected... weird.

Reply 211 of 389, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
CookiePLMonster wrote:
lowenz wrote:

I must say the loading times seem very expanded by wininet injection 😁

Pretty sure that's VSync. Injection itself doesn't affect performance at all.?

LOADING TIMES of the starting screen/menu.

Reply 212 of 389, by CookiePLMonster

User metadata
Rank Newbie
Rank
Newbie
lowenz wrote:
CookiePLMonster wrote:
lowenz wrote:

I must say the loading times seem very expanded by wininet injection 😁

Pretty sure that's VSync. Injection itself doesn't affect performance at all.?

LOADING TIMES of the starting screen/menu.

That shouldn't be the case, though. It's only loading screens which will naturally be slower because they used to be uncapped.

Reply 213 of 389, by CookiePLMonster

User metadata
Rank Newbie
Rank
Newbie
VS11 wrote:

Does your loader need some latest version of runtime libraries(like latest .NET version) in order to work?

Actually, do you have enough experience to be able to compile Ultimate ASI Loader on your own, run it with Far Cry and then possibly see if anything goes wrong? I'm so out of ideas so this feels like the only way to debug it.

UAL is hosted on GitHub and compiles out of the box, so building a VS solution and copying the output file (renamed to wininet.dll) to FC directory is literally enough:
https://github.com/ThirteenAG/Ultimate-ASI-Loader

Reply 214 of 389, by VS11

User metadata
Rank Newbie
Rank
Newbie

*** This is the log that I get:

1>------ Build started: Project: Ultimate-ASI-Loader-x64, Configuration: Release x64 ------
2>------ Build started: Project: RE7Demo.InfiniteAmmo, Configuration: Release x64 ------
1>dllmain.cpp
2>RE7Demo.InfiniteAmmo.cpp
1>../source/x64.def(9): warning LNK4275: 'LIBRARY' statement cannot appear after 'LIBRARY' or 'NAME'; ignored
1>../source/x64.def(24): warning LNK4275: 'LIBRARY' statement cannot appear after 'LIBRARY' or 'NAME'; ignored
1> Creating library ..\bin\x64\Release\dinput8.lib and object ..\bin\x64\Release\dinput8.exp
2>RE7Demo.InfiniteAmmo.vcxproj -> C:\Users\Admin\Downloads\121221\Ultimate-ASI-Loader-master\build\..\bin\x64\Release\scripts\RE7Demo.InfiniteAmmo.asi
1>Ultimate-ASI-Loader-x64.vcxproj -> C:\Users\Admin\Downloads\121221\Ultimate-ASI-Loader-master\build\..\bin\x64\Release\dinput8.dll
1>Done building project "Ultimate-ASI-Loader-x64.vcxproj".
========== Build: 2 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

*** line 9 & 24 are LIBRARY "dsound" & LIBRARY "wininet":

LIBRARY "dinput8"
EXPORTS
DirectInput8Create = _DirectInput8Create
DllCanUnloadNow = _DllCanUnloadNow PRIVATE
DllGetClassObject = _DllGetClassObject PRIVATE
DllRegisterServer = _DllRegisterServer PRIVATE
DllUnregisterServer = _DllUnregisterServer PRIVATE

LIBRARY "dsound"
EXPORTS
DirectSoundCaptureCreate = _DirectSoundCaptureCreate
DirectSoundCaptureCreate8 = _DirectSoundCaptureCreate8
DirectSoundCaptureEnumerateA = _DirectSoundCaptureEnumerateA
DirectSoundCaptureEnumerateW = _DirectSoundCaptureEnumerateW
DirectSoundCreate = _DirectSoundCreate
DirectSoundCreate8 = _DirectSoundCreate8
DirectSoundEnumerateA = _DirectSoundEnumerateA
DirectSoundEnumerateW = _DirectSoundEnumerateW
DirectSoundFullDuplexCreate = _DirectSoundFullDuplexCreate
DllCanUnloadNow = _DllCanUnloadNow PRIVATE
DllGetClassObject = _DllGetClassObject PRIVATE
GetDeviceID = _GetDeviceID

LIBRARY "wininet"
EXPORTS
AppCacheCheckManifest = _AppCacheCheckManifest
......................................................................

*** I tried the resulted dinput8.dll by renaming it to wininet.dll but still no reflected landmass or v-sync working.

Reply 216 of 389, by antrad

User metadata
Rank Member
Rank
Member

I don't know where to ask this, so I will try it here...

I have the DVD version of the game, but I see it has been released on GOG now.

Is there any difference, did the GOG version get any new patches which the retail game didn't get ?

https://antonior-software.blogspot.com

Reply 217 of 389, by CookiePLMonster

User metadata
Rank Newbie
Rank
Newbie
VS11 wrote:

Noticed some other thing: the asi loader is built on 8.1 SDK. Both files from SilentPatch seem to be compatible with Windows Vista and higher. Don't know about the code.

Yes that's intended, despite the name those SDKs support everything back to Vista.

So it works fine, but what happens if you run Far Cry from a debugger when compiling UAL? You'll need to set up debugger like this and then debugging UAL (assumng you put a correct wininet.dll file in game directory) will launch Far Cry:

PhgIG0i.png

You may be able to follow the flow of what the heck is happening easier this way - for example put a breakpoint in DllMain and see if it's ever reached (it should be).

Reply 218 of 389, by VS11

User metadata
Rank Newbie
Rank
Newbie

Once the executable is started it never breaks.

"The breakpoint won't currently be hit. No symbols have been loaded for this document."

The wininet.dll, like previously shown by Process Explorer, is not loaded from the Bin64, but from C:\Windows\System32. Tested with your 2 files in the Bin64 directory and with a build file which shows 3 extra VS2017 dependencies:
C:\Windows\system32\MSVCP140D.dll
C:\Windows\system32\VCRUNTIME140D.dll
C:\Windows\system32\ucrtbased.dll

The result was the same, no breakpoint triggered, not been loaded from Bin64 directory and also no results ingame either.

Here you can find the debugger output log:
https://ufile.io/1xg1j

Reply 219 of 389, by VS11

User metadata
Rank Newbie
Rank
Newbie
antrad wrote:

I don't know where to ask this, so I will try it here...

I have the DVD version of the game, but I see it has been released on GOG now.

Is there any difference, did the GOG version get any new patches which the retail game didn't get ?

Apart from a "no dvd-check" on the x32 executable, an editor manual which you can find online anyway, and some "2 HD wallpapers + 3 avatars", nothing new. They usually remove the DRM and sometimes if you're really lucky they receive some bonus content from the developers you couldn't find online.