Skip to content

Releases: elishacloud/dxwrapper

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.

DxWrapper v1.0.6298.21

28 Jul 03:41
Compare
Choose a tag to compare

This update mainly includes fixes for Dd7to9 which can convert DirectDraw 1-7 (ddraw.dll) to Direct3D 9 (d3d9.dll) for better compatibility with modern systems. This update supports most DirectDraw games that only use the 2D features.

DxWrapper v1.0.6284.21

06 Jul 01:05
3aacf45
Compare
Choose a tag to compare

This is a major update. There are too many changes to list.

Some of the key features are:

  • Conversion of DirectDraw 1-7 (ddraw.dll) to Direct3D 9 (d3d9.dll). See this wiki for more details: Dd7to9
  • Includes LegacyD3DResolutionHack to remove the artificial resolution limit from Direct3D 1-7, which allows DirectDraw games to play at 4K resolution
  • Options to run Direct3D 8 and Direct3D 9 games in windowed mode
  • Options to disable Microsoft Game Explorer (GameUX) to prevent rundll32.exe high CPU