eddmanwrote on 2022-09-20, 15:10:I first checked the game with RTSS and says it's a "DD" game, DirectDraw, so pre-d3d8. […] Show full quote
I first checked the game with RTSS and says it's a "DD" game, DirectDraw, so pre-d3d8.
I copied over dgvoodoo's ddraw.dll and d3dimm.dll files, however, the game does not detect and load the files; RTSS still says DD.
To make sure I alt-tabbed with the game running and managed to delete the dll files.
Is this a compatibility issue?
Some games are hardcoded to read thr ddraw.dll from Windows folder. Maybe you should open the executable (sometime you need to check the game dlls for it) with a hex file and replace ddraw.dll instance with something similar, such as dxraw.dll and also rename the dgVoodoo2 ddraw file to that name.
Yes, I'm aware of that, however in those cases usually some of the dlls at least get loaded but simply don't work, and they do show up in dgvoodoo's debug log. With this game nothing shows up in the log at all.
I did look for the dlls in the exe before posting, but couldn't find ddraw.dll. The following are the dll references in the exe file:
Thank you, didn't expect to get a reply from the creator of DDrawCompat. 😀
I checked your github page; didn't know you had an entire guide for that.
It works; the intro videos freeze though and only audio plays, but at least they can be skipped. For some reason RTSS does not show anything except for the frame time graph.
Is there any way to concretely determine which API the game actually uses for rendering, and not, for example, for video playback? The log mentions many things:
1DDraw is successfully loaded: D:\Game Files (x86)\Microsoft Games\Zoo Tycoon\ddraw.dll 2D3DImm is succesfully loaded: D:\Game Files (x86)\Microsoft Games\Zoo Tycoon\D3DImm.DLL 3Object implementation is DX7 DirectDraw. Only D3D7 can be used via this one, old D3D device implementations are not available. 4Object implementation is plain old pre-DX7 DirectDraw. D3D7 cannot be used via this one.
Is it ddraw only? D3d6? D3d7?
If I remove the d3dimm file, the log mentions the following quite a few times.
1Couldn't load D3DImm.dll. If your application relies only on DirectDraw then it's not a problem.
It's rather confusing. The game probably does need it though, because it crashes without it (there doesn't seem to be any 3D graphics in the game though).
I am checking DD/D3D API entries on pcgamingwiki for accuracy and using dgvoodoo for old games.
P.S. is it safe to leave the reg fix as is? Would there be compatibility issues with other things?