elishacloud / dxwrapper

Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.
zlib License
1.16k stars 83 forks source link

Knights of Honor #93

Closed Mitradis closed 3 years ago

Mitradis commented 3 years ago

Hi. This game, as a many games on windows 10, have some problems: not detect screen resolution, very fast camera scroll speed, dispensable hight cpu load. But this game react only on 4 dll`s: dsound, msacm32, msvfw32, winmm and not on ddraw.dll. Accordingly [Compatibility] block not work as and other settings except FullScreen = 1. Is it possible to do something better for this good game?

elishacloud commented 3 years ago

But this game react only on 4 dll`s: dsound, msacm32, msvfw32, winmm

dxwrapper supports all of these dlls. Ideally you would want to use the dll that load soonest in the game because the earlier you can load dxwrapper the better. You can just rename the stub.dll file to any of these dlls.

and not on ddraw.dll.

It looks like the game is using DirectX 9, which could be why it is not loading ddraw.dll. It is probably loading d3d9.dll instead. However, I don't have a lot of fixes in dxwrapper for this kind of issue with DirectX 9.

You could try setting the DisableMaxWindowedMode option. I just enhanced this option to support DirectX 9

Here is a new update: dxwrapper.zip

Mitradis commented 3 years ago

unfortunately the game does not respond on d3d9.dll, only on dsound, msacm32, msvfw32, winmm.

elishacloud commented 3 years ago

That's ok. Just rename d3d9.dll to dsound.dll.