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.

Instructions:

Download the dxwrapper.zip and unzip it to a folder.
Determine which stub .dll file is needed for the game. This depends on many factors which will be explained on page created later. Common stub dll's to use are ddraw.dll, d3d8.dll, d3d9.dll, dsound.dll or winmm.dll. You only need to choose one stub file to load dxwrapper into the game.
Copy this .dll file from the 'Stub' folder plus the dxwrapper.dll and dxwrapper.ini files into the game's installation directory, next to the main executable file. For some games the main executable is in a subdirectory (like 'Bin', 'Exe' or 'App') so the files will need to be copied into that directory. Overwriting existing game files is not usually recommended. Always backup any files before overwriting them.
Open up the dxwrapper.ini file in a text editor and enable the settings needed for the game.

Note: Try the options under the [Compatibility] section first. For many games these are all that are needed. See the Configuration for details on the options.

What's New?

Added new WinVersionLie option
Added more generic API hooking to help prevent issues on some OS's
Added support to DDrawCompat for loading ddraw.dll via COM controls (IClassFactory)
Added support for having a render target as a texture with dd7to9
Added support for GetInfo() Direct3D function
Added support for games that use ddrawex.dll
Added better simulation for window and display sizes with dd7to9's SetDisplayMode and SetCooperativeMode functions to improve game compatibility
Updated d3d8to9 submodule
Updated dinputto8 for better game support
Disabled Direct3D v1 interface to allow games to failover to DirectDraw
Fixed some device lost issues
Fixed Direct3D Viewport Clear() zbuffer parameters
Fixed texture map blending render states in dd7to9
Fixed black screen in some cases when gamma is used in dd7to9
Fixed potential crash with DeviceLookupCacheTime
Fixed crash in EnableWindowMode from error in StretchRect()
Fixed error with DDrawCompat integration into dxwrapper that caused man games to have a black screen
Fixed an issue with Blt (surface copy function) that could cause extra pixels outside the RECT

https://github.com/elishacloud/dxwrapper