github elishacloud/dxwrapper v1.7.8400.25
Release v1.7.8400.25

5 hours ago

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.

Added

DirectDraw / Graphics

  • Added DdrawLinearTextureFilter option to enable linear texture filtering for upscaling 2D games (#544)
  • Added support for IID_IDirect3DRampDevice
  • Added caching for Caps9 and supported formats

Stability / Compatibility

  • Added DdrawFilterActivateApp option to filter WM_ACTIVATEAPP messages sent to games to help prevent crashes and other undesired behavior
  • Added a second HandleExceptions mode to allow skipping over code errors rather than only NOPing instructions
  • Added EnableDumpFileCreation option to allow automatic mini dump file creation on errors

Updated

Graphics / Rendering

  • Updated the maximum reported video memory from 512 MB to 2 GB
  • Updated ColorFill on render targets to use Clear instead of manually filling the surface
  • Updated how SetViewport() and GetViewport() work for older Direct3D games
  • Updated d3dx9 to use ComPtr and real surface addresses to help avoid mismatches and potential crashes

Direct3D Interfaces

  • Updated Direct3D9 normal and Ex interfaces to use the same class address
  • Updated address caching on Direct3D9 interfaces so cached addresses are only deleted when the root device is released

Submodules

  • Updated the d3d8to9 submodule to fix an issue where invalid characters were generated from D3DX9 Disassem output (#533) thanks to @Joshhhuaaa
  • Updated the dinputto8 submodule to include COM identity fixes
  • Updated the dinputto8 submodule to fix empty or missing object data (#532)

Fixed

Stability / Crash Fixes

  • Fixed an issue where the system System32\d3d9.dll could be hooked instead of the local version by default (#541)
  • Fixed an issue where interface classes could be deleted before leaving the critical section, sometimes causing crashes
  • Fixed an issue where resolution changes could be detected during surface creation, causing crashes in some games
  • Fixed potential reference count issues with IDirectInput, IDirectInputDevice, and IDirectInputEffect

Graphics / Rendering

  • Fixed per-stage anisotropic filtering (#524)
  • Fixed mipmap generation for textures when no mip levels were specified (#526) thanks to @DeathWrench
    DeathWrench
  • Fixed an issue where querying DDSCAPS2_MIPMAPSUBLEVEL could return no surface
  • Fixed depth color handling and ensured stencil buffers are always cleared along with depth clears
  • Fixed the return value check for GetDepthStencilSurface() when no depth stencil surface was in use
  • Fixed an issue where textures could become transparent when substituting a texture without an alpha channel with one that has an alpha channel
  • Fixed an issue where surface copies (Blt) using UpdateSurface would always fail

Window / Input Handling

  • Fixed an issue where the mouse could be repositioned on game startup because of SetFocus or SetActive calls (#546)
  • Fixed an issue on Direct3D8/9 where a small version of the game window could briefly appear before the real game window was ready (#546)
  • Fixed how DirectInput interfaces are created (#537)

DirectDraw / Presentation

  • Fixed GetFlipStatus so it correctly reports status when called from a back buffer instead of only the front buffer

Don't miss a new dxwrapper release

NewReleases is sending notifications on new releases.