Skip to content

Releases: elishacloud/dxwrapper

Release v1.4.7900.25

13 Aug 21:18
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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.
  4. 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 support for converting Direct3D9 to Direct3D9Ex (D3d9to9Ex)
  • Added support for multiple monitors with dd7to9
  • Added support for MipMaps in GetDC() (#388)
  • Added support for DrawPrimitiveStrided(), DrawIndexedPrimitiveStrided() and ProcessVerticesStrided()
  • Added support for TransformVertices()
  • Added support for GetBackgroundDepth(), SetBackgroundDepth()
  • Added support for LightElements()
  • Added support for 'D3DVOP_LIGHT' ProcessVertices()
  • Added support for GUID_NULL sent into EnumZBufferFormats()
  • Added support for video memory query of DDSCAPS_PRIMARYSURFACE
  • Added support for scissor clip test to clip draw calls
  • Added support for clipper with GetDC() and Blt()
  • Added support for depth fill and depth buffer Blt()
  • Added support for viewport homogeneous scaling
  • Added support for both DDSCL_FULLSCREEN and DDSCL_NORMAL flags in SetDisplayMode()
  • Added bypass to allow Blt with DDBLT_ALPHAEDGEBLEND alpha flag to work
  • Added ability to configure settings via environment variables. (#395)
  • Added FixPerfCounterUptime option to fix issues with some games when PerformanceCounter is too large (uptime or CPU frequency is too large)
  • Added DdrawExtraEmulationSize option to expand the size of the surface to prevent buffer overflow in some games
  • Added DdrawUseDirect3D9Caps option to allow DDrawCompat to use Direct3D9 caps (#328)
  • Added DdrawClampVertexZDepth option to clamp z value in vertices
  • Added SetPOW2Caps option to control D3DPTEXTURECAPS_POW2 and D3DPTEXTURECAPS_NONPOW2CONDITIONAL flags for better compatibility
  • Added sleep when creating device from a separate thread to allow CPU to switch to device creation thread
  • Added different sized Index Buffers to reduce amount of data copied into video memory
  • Added screen reset on Release() and Reset() to fix a few issues
  • Added delay to prevent loading of System32 ddraw.dll, d3d8.dll, or dinput.dll unless needed
  • Added ability to delete Direct3D9 interfaces on release when using dd7to9 to reduce memory overhead
  • Added ability to redraw entire surface after device loss (alt+tab)
  • Added emulation for video memory zbuffer Lock()
  • Added emulation support for vertex buffer Lock()
  • Added abilty to reuse Direct3D9 StateBlock interfaces addresses
  • Added pitch and surface to dummy surface lock to help prevent crash in games that use a failed Lock() call
  • Added log the full Command Line Interface (CLI)
  • Finished implementation of FindDevice()
  • Finished implementation of SetClipList() and GetClipList()
  • Updated licensing files and ensured license file is in GitHub builds
  • Updated vetex buffer to use m_IDirect3DDeviceX interface rather than d3d9Device
  • Updated so D3DFMT_A8R8G8B8 as not requiring for DC emulation
  • Updated critical section to use DD for primary surface
  • Better handling of DirectDrawEnumerate()
  • Better handling of DdrawWrapper and DDrawCompat together
  • Better handling of MipMaps UniquenessValue
  • Better vertex handling to improve draw and vertex processing performance
  • Better memory handling by using heap allocation for CONFIG::Init()
  • Better memory handling by only creating shadow surface when needed
  • Renamed EnvironmentMapCubeFix to EnvironmentCubeMapFix and disabled by default
  • Moved limit frame rate to run after Present
  • Fixed an issue where some games use uninitialized pointer in CreateFileA struct
  • Fixed window border and zoom to fix mismatch in window size and buffer size (#312)
  • Fixed shadow surface when using textures
  • Fixed reference issue with MipMap context surfaces
  • Fixed how specular light worked in Light2 struct
  • Fixed device lost behavoir (alt+tab) for many games
  • Fixed a potential crash in the stub
  • Fixed device states when games use multiple devices simultaneously
  • Fixed compiler warnings from MemoryModule
  • Fixed some issues with Blt() invalid rect testing
  • Fixed an issue where light and transform state may not match device state
  • Fixed issue where render target may not use video memory
  • Fixed window size and style in some games by no longer modifying the sysmenu window style
  • Fixed GDI conflicts in some games by removing DDrawCompat GDI hooks
  • Fixed texture Lock() issue by removing D3DLOCK_DONOTWAIT flag
  • Removed licensed code for: WineD3D, reactos, doom3.gpl, diablo-ddrawwrapper, cnc-ddraw, DSoundCtrl, DxWnd, OllyDbg, noser-sandbox, SilentPatchFarCry, Ultimate ASI Loader, and Aqrit's ddwrapper

Release v1.3.7700.25

16 Apr 00:32
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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.
  4. 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 testing tool to test dd7to9 and ensure it replicates native DirectDraw better
  • Added option to display FPS
  • Added option to fix environment cube maps when no texture is set
  • Added option to prevent memory leak from continous StateBlocks creation
  • Added option to call Begin/End Scene pair only once per frame
  • Added option to limit the texture formats enumerated to prevent crashes in some games
  • Added option to limit display mode count for Direct3D9
  • Added option to keep all interface cache
  • Added support for DDSCL_FPUSETUP (FPU exceptions)
  • Added support for bump dUdV map texture
  • Added support for setting width, height, pitch flags in SetSurfaceDesc()
  • Added shader to support gamma ramp when in windowed mode
  • Added partial support for multiple D3D devices
  • Added work around for D3DERR_DEVICELOST error when creating Direct3D9 device
  • Added interface cache to ensure that interface addresses are reused as some games expect this
  • Added a redraw after SetCooperativeLevel or SetDisplayMode
  • Added code to remove WS_DLGFRAME along with WS_BORDER for fullscreen windows
  • Added module name logging from exception handler
  • Added code to initialize msg queue when delaying device creation
  • Added profiling to WaitForVerticalBlank()
  • Removed support for ConvertToDirect3D7 and ConvertToDirectDraw7
  • Disabled ColorControl interface to match native DirectDraw
  • Reorganization of all DirectDraw and Driect3D class files
  • Changed OverrideRefreshRate to affect enum functions
  • Changed CPU affinity to set affinity at the thread level rather than the process level
  • Changed how the RestoreDisplayMode() function works
  • Changed index and vertex buffers to use video memory rather than system memory
  • Improved when and how critical sections are called for better support for some multi-threaded games
  • Improved handling of Light, Material, Viewport and VertexBuffer interfaces to work before a Direct3DDevice is created
  • Improved handling for SetCooperativeLevel() flags
  • Improved resolution changes by doing a device reset rather then recreating it
  • Fixed all DirectDraw and Direct3D interface reference counts to match native DirectDraw
  • Fixed some issues with complex surface creation
  • Fixed some DDSCAPS with 3D and backbuffer surfaces
  • Fixed minor issues with DuplicateSurface function
  • Fixed a couple of minor things for color keys

Release v1.2.7500.25

28 Jan 05:53
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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.
  4. 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 support for Direct3D version 1 interface used in DirectX2 and DirectX3
  • Added support for Execute Buffers
  • Added support for Execute() function
  • Added support for games that use matrix functions
  • Added a shader for gamma support, which allows gamma to work on 16bit games and windowed mode games
  • Added new EnableOpenDialogHook option for fixing issues in some games when they attempt to use the Open/Save Comdlg
  • Added new DdrawIntroVideoFix option that detects DirectDraw fullscreen windowed mode for some game's intro videos
  • Added better support for RestoreDisplayMode() call
  • Added the ability to remember window device flags
  • Added state memory so that only changed states would get restored on device reset
  • Added the ability to remove clip children flag for popup windows, which caused black screen on some intro videos
  • Added DirectX documentation to repository
  • Added log for base module address
  • Updated how SetCooperativeLevel null HWND works for better game compatibility
  • Improved how texture, material and matrix handles work
  • Changed code to always create multi-threaded aware device to fix potential issues in some multi-threaded games
  • Fixed a crash caused by a bug in the logging routine
  • Fixed an issue where some games would crash on device release
  • Fixed an issue that caused dxwrapper to not load into some games because of a Mutex logic issue
  • Fixed a couple of surface desc and ddcaps flags
  • Fixed texture eviction/unloading functions to work correctly
  • Fixed an issue where DdrawRemoveScanlines did not work with Blt()
  • Fixed Depth Stencil Blt z-value
  • Fixed name and desc in EnumDevices(), which caused crash in some games
  • Fixed some render state default settings
  • Fixed an issue where PrimaryDisplayTexture was sent when it it should not have been, leading to black screen during game play
  • Fixed an issue with render target with multiple DirectDraw devices in used, leading to black screen during intro video or game play
  • Removed D3DLOCK_NOSYSLOCK unless the game requests it to prevent subtle crashes that happened in some games
  • Removed force emulation on surfaces when in windowed mode to fix issues in some games
  • Removed some unneeded busy wait loops

Release v1.2.7400.25

14 Dec 07:26
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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.
  4. 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?

  • Add support for Viewport lighting functions: AddLight(), DeleteLight() and NextLight()
  • Add partial support for surface UpdateOverlay() function
  • Add Hooking Patterns to settings for memory updates and game patching
  • Add partial support for paletted render targets
  • Add hook for HeapSize() to validate the handle to prevent crashes in some games
  • Add failover to default refresh rate if specified rate fails
  • Add experimental pause for resolution switching to help prevent crashes in case monitor takes time to switch to new resolution
  • Add FPS to the debug ImgGui display
  • Remove unneeded DdrawFlipFillColor from settings ini
  • Update order enum display modes for better compatibility in some games
  • Improve speed of system memory surface copies in some cases
  • Force emulation for certain system memory surfaces to prevent game crashing when accessing the surface outside of Lock/Unlock pair
  • Make interfaces reusable to handle game misuse
  • Filter some messages while forcing windowed mode for better game compatibility
  • Use dummy surface memory for lock failure to prevent crash in some games
  • Update how gamma support works to prevent solid back screen in some games
  • Move frame count limiter to happen before before the Present() rather than after
  • Fix Texture Load() function which caused textures to be blank in some games
  • Fix SetRenderState MIN texture filter which caused transparencies to be opaque
  • Fix MipMap count issue which caused MipMaps to fail in some case
  • Fix WinVersionLie to work independently
  • Fix hooks for supporting drawex
  • Fix hang with DdrawAutoFrameSkip
  • Fix potential crash in FindDevice()
  • Fix shadow surface when locking texture render targets
  • Other misc fixes and updates

Release v1.2.7300.25

06 Nov 02:36
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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.
  4. 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

Release v1.2.7200.25

17 Sep 00:38
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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.
  4. 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 full support for many Direct3D games with Dd7to9 to convert them to Direct3D9
  • Added support for Render Target for Direct3D game
  • Added support for many new surface formats, such as D3DFMT_NV12, D3DFMT_UYVY and D3DFMT_YUY2 (among others)
  • Added ImGui support for debugging
  • Added support for Windows XP (recommend having DirectX9c installed)
  • Added compatibility hooks for older games to make them run smoother
  • Added full support for MipMaps (including option for AutoMipMap generation)
  • Added full support for color keying with Direct3D games
  • Added support for lighting for Direct3D games
  • Added support for ProcessVertices(), SetBackground(), GetBackground() functions for Direct3D games
  • Added partial support for Alt+Tab in games
  • Added WinProc hooks to see and filter window messages
  • Added an option to fix issues that some games have with high frequency mice
  • Improved Blt (surface copy) support
  • Improved support for windowed DirectDraw and Direct3D games
  • Improved performance of wrapper (both memory and speed)
  • Switched legacy games to use legacy flip mode (allows drawing GDI on top of DirectX)
  • Limits disk space seen by games to prevent crashes in some games
  • Clear FPU error flags before present to avoid a bug with some games that happen on Nvidia video cards
  • Fixed Windows 11 issue with crashes and hangs
  • Fixed pitch errors in some games (including disabling byte alignment by default)
  • Fixed some potential memory leaks
  • Fixed a reference counter issue that could cause some games to crash
  • Fixed issues that would sometime cause the game window to open in the background
  • Many other fixes and updates...

DxWrapper v1.1.6900.22

03 Oct 17:58
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. 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.
  3. 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 it into that directory. Overwriting existing game files is not usually recommended.
  4. 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 Dd7to9 support for Direct3D games to convert them to Direct3D9 (support is still limited)
  • Added support for DirectDraw/Direct3D games for in-game window mode (for games that support window mode)
  • Added support for D3DFMT_DXT1-5 for games using Dd7to9
  • Added partial support for FOURCC for games using Dd7to9
  • Added high performance FPS limiter for games using Dd7to9, D3d8to9 or Direct3D9
  • Added an option to use Direct3D9On12 for games using Dd7to9, D3d8to9 or Direct3D9
  • Added an option to use GraphicsHybridAdapter for games using Dd7to9, D3d8to9 or Direct3D9
  • Added option to disabled MaximizedWindowedMode (fullscreen optimizations) for Direct3D 8 and 9 games
  • Added code for a universal hook for WndProc (disabled for this release)
  • Added stubs for: cryptbase.dll and winspool.drv
  • Updated OverrideRefreshRate to support games using D3d8to9 and Direct3D9, rather than just Dd7to9
  • Integrated D3DX9 into module
  • Using D3DX9 and BitBlt for DirectDraw Blt functions
  • Use Reset for Dd7to9 to modify device settings rather than releasing and recreating the Direct3D9
  • Use separate thread for DdrawAutoFrameSkip for DirectDraw games to improve performance
  • Renamed and moved a number of settings
  • Disabled MouseHook by default
  • Disabled screen reset on exit by default
  • Fixed a crash in Direct3D9 wrapper
  • Fixed a DDrawCompat v0.3.1 issue with Windows 11
  • Fixed issues with color keying in some games, causing missing textures
  • Fixed an issue with Flip surfaces in some games, causing the game to crash
  • Fixed an issue where new DirectDraw v1 surfaces would not get the same address as recently released surfaces which some games expect, causing the game to crash
  • Fixed an issue where the game would release a surface while it was still locked, causing the game to crash
  • Fixed an issue where games would use IID_IUnknown in IClassFactory, causing some games to bypass dxwrapper or crash
  • Many, many other fixes and updates

DxWrapper v1.0.6542.21

30 May 01:22
6be8057
Compare
Choose a tag to compare

Instructions:

  1. Download the dxwrapper.zip and unzip it to a folder.
  2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
  3. 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 it into that directory. Overwriting existing game files is not usually recommended.
  4. 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 DDrawCompat v0.3.1
  • Added Dd7to9 compatibility with many additional games
  • Added Dd7to9 support for display modes: 640x400, 320x240 and 320x200
  • Added option to remove scanlines in DirectDraw games
  • Added feature to fix byte alignment (pitch) issues in DirectDraw games
  • Added support for converting a few Direct3D 1-7 functions to Direct3D 9
  • Added option to ForceMixedVertexProcessing and ForceSystemMemVertexCache to fix some perf issues in Direct3D 9
  • Fixed issue in Direct3D 9 wrapper that could cause games to bypass the wrapper
  • Fixed AnisotropicFiltering in Direct3D9 to set texture filter to anisotropic mode
  • Many other fixes and updates

DxWrapper v1.0.6387.21

09 Aug 19:40
Compare
Choose a tag to compare

Instructions:

  1. Download the DxWrapper.zip and unzip it to a folder.
  2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
  3. 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 it into that directory. Overwriting existing game files is not usually recommended.
  4. 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 Dd7to9 compatibility with many games
  • Added option for AudioClipDetection
  • Added Anisotropic Filtering support in DirectX 9
  • Added option to Blt to GDI for Dd7to9
  • Added filter in DirectX 9 wrapper for windows event messages to prevent some games from hanging
  • Updated dinputto8 module to fix joystick and keyboard issues with some dinput games
  • Added wrapper for dwmapi.dll
  • Better handing of ddraw structures for Dd7to9
  • Allow present even with locked surfaces when using Dd7to9
  • Call present after setting color control or gamma control when using Dd7to9
  • Fixed surface pitch when using Dd7to9
  • Fixed SpeakerConfig options
  • Fixed stability issues with many DirectDraw games

DxWrapper v1.0.6334.21

01 Oct 02:32
Compare
Choose a tag to compare

Instructions:

  1. Download the DxWrapper.zip and unzip it to a folder.
  2. Determine which .dll file is needed for the game. This depends on many factors which will be explained on page created later. Most commonly it is ddraw.dll, dsound.dll or winmm.dll.
  3. 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 it into that directory. Overwriting existing game files is not usually recommended.
  4. 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 option to emulate the surface when using Dd7to9.
  • Added scaling and integer clapping when using Dd7to9.
  • Added option to preserve the aspect ratio when using Dd7to9.
  • Added option to clip primary surface when using Dd7to9.
  • Added full support for 24bit surfaces when using Dd7to9.
  • Added implementation for SetClipList(), GetClipList() and FlipToGDISurface() when using Dd7to9.
  • Improved performance of Dd7to9.
  • Fixed TestCooperativeLevel(), IsLost(), Restore() and Reset() function conversion when using Dd7to9.
  • Fixed an issue with SetDisplayMode() using Dd7to9.
  • Fixed AntiAliasing issues when using d3d9.
  • Fixed QueryInterface issues with d3d9.
  • Fixed hooking to work on Linux/Wine.