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: 47
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: 37
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: 47
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: 37
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: 47
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: 37
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: 332
Joined: 2014-9-13 @ 21:39

Re: Far Cry

Postby VS11 » 2018-6-24 @ 18:31

The problem is the x64 version searches for msvcr71.dll & msvcp71.dll in the Bin64 directory and delivers an error even if the files are replaced and not just deleted.

So, if CompressATI2.dll points only to ATI cards I think it would still be better to have a working x64 version, even if it is only for the Nvidia cards.

Ideally, yes, a solution that would work on both types of cards should be found.
VS11
Newbie
 
Posts: 37
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby mirh » 2018-6-25 @ 23:16

LET'S BUILD OUR OWN COMPRESSATI2 FROM SOURCES WITH BLACKJACK, HOOKERS AND EVEN NVIDIA CARD FORCING
pcgamingwiki.com
mirh
Member
 
Posts: 332
Joined: 2014-9-13 @ 21:39

Re: Far Cry

Postby VS11 » 2018-6-26 @ 12:36

I think we reached a point where even almost any unconventional methods are welcomed.

And by the way, I think you meant "ATI card forcing".
VS11
Newbie
 
Posts: 37
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby CookiePLMonster » 2018-7-06 @ 20:24

Hey,

it took much more time + trial and error than I expected, but I now released a Build 2 which definitely works fine on Windows 7!

https://github.com/CookiePLMonster/Sile ... y/releases

It was such hell though... even version.dll loads differently on Windows 7 than it does on Windows 10, so the ASI had to be aware of it.

Also, after downloading this delete wininet.dll from your Bin32/Bin64 directories - it's been superseded by version.dll.
User avatar
CookiePLMonster
Newbie
 
Posts: 47
Joined: 2018-4-01 @ 18:53

Re: Far Cry

Postby VS11 » 2018-7-07 @ 00:00

CookiePLMonster wrote:Hey,

it took much more time + trial and error than I expected, but I now released a Build 2 which definitely works fine on Windows 7!

https://github.com/CookiePLMonster/Sile ... y/releases

It was such hell though... even version.dll loads differently on Windows 7 than it does on Windows 10, so the ASI had to be aware of it.

Also, after downloading this delete wininet.dll from your Bin32/Bin64 directories - it's been superseded by version.dll.


Such great news!

It works on Windows 7 for the x64 version.

Great job! Also v-sync is so useful especially if you max out the console variables. With such high lcd refresh rate frequencies nowadays, WineD3D is not very useful because of the huge fps drop that introduces.

Thanks a lot for taking the time and making it work!
VS11
Newbie
 
Posts: 37
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby VS11 » 2018-7-09 @ 11:23

You have some extremely insightful articles on your blog, such as this one, of course:

https://cookieplmonster.github.io/2018/ ... -d3d9-bug/

The Godfather one was really interesting too.
VS11
Newbie
 
Posts: 37
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby CookiePLMonster » 2018-7-10 @ 10:40

The Godfather article was the reason I created this blog! It was meant to be posted elsewhere, but it got turned down as "too long and too technical" - so I created my own blog instead! Looks like it was good choice.

Soon I'll have even more insightful articles since I got involved in an official re-release of an older game on Steam so I'll be also blogging about this!
User avatar
CookiePLMonster
Newbie
 
Posts: 47
Joined: 2018-4-01 @ 18:53

Re: Far Cry

Postby lowenz » 2018-7-10 @ 13:38

You take some other game-fixing requests, man? :D

I've plenty :P (and interesting ones, considering I really like to solve cold cases :D )
lowenz
Oldbie
 
Posts: 956
Joined: 2014-12-20 @ 01:30

Re: Far Cry

Postby VS11 » 2018-7-17 @ 16:58

In regards to the unknown cause for the remaining question as to what determines this error, I noticed in Far Cry ran on Windows 7 x64 some graphical glitches regarding increasing drawing distance(it seems that they were always present even during the XP days) and also some graphical glitches when you zoom in and then out in the distance or turn around while first looking at the ocean, then for a few seconds at the land and then back to the ocean. The fort level is great for testing that.

I don't quite remember what happens in the first case, either the sky disappears or becomes black, and with the ocean glitch something similar but related to the ocean.

If you turn off terrain occlusion culling or parts of it(which are directly correlated with the clip planes method) by way of console variables it introduces again graphical glitches.

I once again uninstalled Far Cry and I don't quite remember how the graphical glitches manifested, either sky, land, ocean disappearance/black areas or missing textures.

Even though Far Cry uses plane clipping I could only find one console variable regarding frustum which is p_lightfrustum. I kept it at default. I wonder if it solves some of the problems by increasing it.

I don't have the possibility of testing the game on a XP machine but if you can and you don't encounter any errors on increasing drawing distance and turning off occlusion culling then you might be able to isolate the issue.

There is another glitch happening when e_particles_receive_shadows(a new variable introduced in a later patch, present in 1.32 though) is turned on. It is a graphical glitch involving the ocean. Again the fort level is recommended for testing it.

Anyway, thanks a lot again for fixing it on Windows 7 since with the current trend of disregarding compatibility with every major Windows 10 update coupled by also forcing the updates, things don't look very bright for older applications.
VS11
Newbie
 
Posts: 37
Joined: 2018-4-13 @ 09:18

Re: Far Cry

Postby yochenhsieh » 2018-7-24 @ 09:42

Hi,
Is it possible to fix the binocular zooming problem with version.dll override? I know it's a driver issue but I'm using RX470 and putting the old atiumdag.dll in bin32 folder will crash the game. WineD3D results lower framerates so I prefer not to use it if other workarounds is available.

Detail of this problem is described here:
https://steamcommunity.com/app/13520/di ... 690219152/
yochenhsieh
Newbie
 
Posts: 14
Joined: 2015-4-09 @ 06:38

Re: Far Cry

Postby CookiePLMonster » 2018-7-24 @ 11:25

Interesting... I haven't heard of this before (but then again, I didn't even beat the tutorial!), sounds like another interesting problem.

Do you know if it's exclusive to ATI/AMD cards? And how far in the game do I need to get to unlock binoculars?
User avatar
CookiePLMonster
Newbie
 
Posts: 47
Joined: 2018-4-01 @ 18:53

Re: Far Cry

Postby yochenhsieh » 2018-7-24 @ 12:15

I'm not sure if it's exclusive to ATI/AMD, but both my laptop and desktop PC have same problem and they both have AMD graphics.

The binocular is available very early in the game, please check this video:
https://www.youtube.com/watch?v=t5MEUQssrnk
About 7:48 you will get the binocular.:)
yochenhsieh
Newbie
 
Posts: 14
Joined: 2015-4-09 @ 06:38

Re: Far Cry

Postby VS11 » 2018-7-24 @ 16:02

That's interesting.

I have a Nvidia card and don't experience that issue but I do experience another one when increasing drawing distance to any other value than default(by way of console variables) for high graphical settings. I don't have Windows XP installed, so I don't really know if it is only Windows 7 and up related.

I noticed in Far Cry ran on Windows 7 x64 some graphical glitches regarding increasing drawing distance(it seems that they were always present even during the XP days) and also some graphical glitches when you zoom in and then out in the distance or turn around while first looking at the ocean, then for a few seconds at the land and then back to the ocean. The fort level is great for testing that.


I don't quite remember what happens in the first case, either the sky/ocean texture disappears or becomes black(for less than a second or if the drawing distances are increased to higher values until the next loading of the map).
VS11
Newbie
 
Posts: 37
Joined: 2018-4-13 @ 09:18

PreviousNext

Return to Windows

Who is online

Users browsing this forum: Google [Bot] and 2 guests