Far Cry

Getting old Windows games working.

Re: Far Cry

Postby CookiePLMonster » 2018-6-13 @ 17:52

VS11 wrote:For the x32 version, version.dll is loaded from \Windows\System32 directory. dbghelp.dll is loaded from the Bin32 directory. So it is a viable solution.


Indeed, I want to try out dbghelp.dll! I think the one shipped by the game is stock so I can safely overwrite it and rely on system32 one.

Another reason version.dll backfired is that apparently FC Configurator also loads it. Do you know if same applies to dbghelp? I didn't have a chance to try it yet.
User avatar
CookiePLMonster
Newbie
 
Posts: 42
Joined: 2018-4-01 @ 18:53

Re: Far Cry

Postby VS11 » 2018-6-14 @ 00:44

For the x32 version the FarCryConfigurator.exe doesn't load dbghelp.dll.

Unfortunately, in the case of Editor.exe dbghelp.dll is loaded dynamically. It is loaded from the Bin32 directory though.

What about the x64 version? The dbhelp.dll isn't loaded from Bin64 but rather from \Windows\System32.

The only potential file candidates for the x64 version would be:

CompressATI2.dll
Cry3DEngine.dll
CryAISystem.dll
CryAnimation.dll
CryEntitySystem.dll
CryFont.dll
CryGame.dll
CryInput.dll
CryMovie.dll
CryNetwork.dll
CryPhysics.dll
CryScriptSystem.dll
crysound64.dll
CrySoundSystem.dll
CrySystem.dll
DivxDecoder.dll
DivxMediaLib.dll
FarCry.exe
FileParser.dll
XRenderD3D9.dll

which they are all needed ingame

and

msvcr71.dll
msvcp71.dll

These seem to be the only 2 chances left, but will the game even work without the Microsoft C/C++ runtimes being loaded?


On the other hand for the x64 version, FarCry.exe & Editor.exe & FarCryConfigurator.exe all need the Microsoft C/C++ runtimes from Bin64 directory.
VS11
Newbie
 
Posts: 31
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby CookiePLMonster » 2018-6-15 @ 15:04

If I place dbghelp in game directory then both will load it from here, and not system32 directory. That also means I need to update SPFC.asi not to apply patches when dbghelp is loaded by a Configurator...

This all sucks so bad.
User avatar
CookiePLMonster
Newbie
 
Posts: 42
Joined: 2018-4-01 @ 18:53

Re: Far Cry

Postby VS11 » 2018-6-15 @ 21:45

I didn't quite understand your answer.

For the x32 version dbghelp.dll is already in Bin32 directory and it is loaded from there for FarCry.exe & Editor.exe. FarCryConfigurator.exe doesn't need dbghelp.dll to be loaded.

It seems that if dbghelp.dll from the Bin32 directory is replaced with the one from \Windows\System32 directory the game still starts fine.

For the x64 version though, dbghelp.dll is not in the Bin64 directory and FarCry.exe & Editor.exe don't load it from the Bin64 directory even if it is copied from either Bin32 or \Windows\System32. It is only loaded from \Windows\System32.

Which makes the x64 version really hard to solve since:

The only potential file candidates for the x64 version would be:

CompressATI2.dll
Cry3DEngine.dll
CryAISystem.dll
CryAnimation.dll
CryEntitySystem.dll
CryFont.dll
CryGame.dll
CryInput.dll
CryMovie.dll
CryNetwork.dll
CryPhysics.dll
CryScriptSystem.dll
crysound64.dll
CrySoundSystem.dll
CrySystem.dll
DivxDecoder.dll
DivxMediaLib.dll
FarCry.exe
FileParser.dll
XRenderD3D9.dll

which they are all needed ingame

and

msvcr71.dll
msvcp71.dll

These seem to be the only 2 chances left, but will the game even work without the Microsoft C/C++ runtimes being loaded?

On the other hand for the x64 version, FarCry.exe & Editor.exe & FarCryConfigurator.exe all need the Microsoft C/C++ runtimes from Bin64 directory.
VS11
Newbie
 
Posts: 31
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby CookiePLMonster » 2018-6-17 @ 12:55

Oh, I see now. I expected 64-bit version to load dbghelp.dll from game directory if it's placed here - but if it's not, then it's really bad.
User avatar
CookiePLMonster
Newbie
 
Posts: 42
Joined: 2018-4-01 @ 18:53

Re: Far Cry

Postby VS11 » 2018-6-18 @ 07:23

For the x64 version, from all these files:

CompressATI2.dll
Cry3DEngine.dll
CryAISystem.dll
CryAnimation.dll
CryEntitySystem.dll
CryFont.dll
CryGame.dll
CryInput.dll
CryMovie.dll
CryNetwork.dll
CryPhysics.dll
CryScriptSystem.dll
crysound64.dll
CrySoundSystem.dll
CrySystem.dll
DivxDecoder.dll
DivxMediaLib.dll
FarCry.exe
FileParser.dll
XRenderD3D9.dll

which they are all needed ingame

and

msvcr71.dll
msvcp71.dll

FarCry.exe and Editor.exe can only start without:

CompressATI2.dll(don't really know if it is only ATI related, seems so, even tho when I tried to get more info online on the file it seems to be more asociated to the Editor.exe than FarCry.exe). Game starts fine and also the levels can be finished fine without it. I do have a Nvidia gpu though. It is both needed by FarCry.exe and Editor.exe.

I think this is the best case scenario. Using dbghelp.dll for the x32 version and CompressATI2.dll for the x64 version(at least it will work on Nvidia) for Windows 7. For Windows 8+ should be dbghelp.dll for both.

Basically:

- x32 version: dbghelp.dll on Windows 7+

- x64 version: CompressATI2.dll on Windows 7 & dbghelp.dll on Windows 8+
VS11
Newbie
 
Posts: 31
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby mirh » 2018-6-23 @ 09:43

CompressATI2, after checking with Hxd, had some function pointing to Compressonator.
Another of its files moreover, mentions "ATI2" as a moniker for DXT_BC5/LATC/RGTC/3Dc textures. The last of these names, being indeed announced to have been added in patch 1.3.

So.. It seems relevant.

My vote goes into replacing .NET dlls therefore (not that hard then, given they are already more implemented than not in wine)
pcgamingwiki.com
mirh
Member
 
Posts: 331
Joined: 2014-9-13 @ 21:39

Previous

Return to Windows

Who is online

Users browsing this forum: No registered users and 2 guests