Skip to content

Releases: narzoul/DDrawCompat

DDrawCompat v0.6.0

23 Mar 21:34
Compare
Choose a tag to compare
DDrawCompat v0.6.0 Pre-release
Pre-release

General changes:

  • Fixed incorrect surface pitch for DXTn system memory textures, which was causing graphics artifacts in Europa 1400 on Intel GPUs (#348)
  • Disabled vertex buffer optimizations, which was causing graphics artifacts or crashes in Competitions at Rosemond Hill (#354)
  • Fixed palette issues causing incorrect colors in Star Wars: Rebellion (#379)
  • Fixed some graphics artifacts with palettized textures in Metro-Police (#373)
  • Fixed a crash during initialization on Windows Vista
  • Fixed a crash in Braveheart (#399)
  • Fixed raw mouse input not getting blocked while the configuration overlay is open
  • Fixed blank videos in some games using QuickTime 7 (#273)
  • Fixed Direct3D hardware accelerated mode in Jane's F-15 (#178)
  • Fixed red screen flash effect when getting hit in Shogo M.A.D. (#246)
  • Fixed menu issues in Worms Armageddon (#370)
  • Fixed incorrectly rendered shadows in Superbike 2001 (#385)
  • Fixed video playback issues in Heavy Gear (#392)
  • Fixed blank loading screen in Heavy Gear 2 when in-game color depth is set to 32 bits (#398)
  • Fixed the configuration overlay's Reset/Import/Export buttons not applying to settings outside the current view
  • Fixed a bug in the runtime's handling of point primitives in execute buffers, which was causing crashes in Terracide (#433)
  • Gamma ramps are now also emulated in exclusive fullscreen mode, to work around missing native support on NVIDIA drivers
  • Fixed the configuration/stats overlays sometimes automatically hiding when they shouldn't
  • Fixed lower than expected presentation rate when using variable refresh rate technologies
  • Fixed Jane's F-15 sometimes switching to windowed mode in the menus
  • Fixed ResolutionScale and RenderColorDepth settings sometimes not applying to some frames
  • Added an experimental workaround for freezes on Windows 11 24H2 when using NVIDIA GPUs with single processor affinity (#387)
  • Fixed various stability issues (crashes and deadlocks)
  • Mouse sensitivity has been changed to be consistent with the desktop by default, use the new MouseSensitivity setting if experiencing problems (the native option reverts to the previous behavior)

Updated configuration settings:

  • AlternatePixelCenter: added custom option (#429)
  • AltTabFix: fixed some issues with the noactivateapp option (#364)
  • ColorKeyMethod: removed auto option, default value changed to alphatest(1)
  • CpuAffinity: no longer applies to DDrawCompat's own threads and some safe system threads
  • DesktopResolution: added initial option
  • FpsLimiter: the flipstart and flipend options now also apply when presenting via fullscreen copy (blit)
  • FullscreenMode: added VSync parameter to the exclusive option
  • SpriteDetection: now tests all triangles in a batch instead of just the first one (#427)
  • TextureFilter: fixed interworking with mipmaps (#364)

New configuration settings:

  • CapsPatches
  • CompatFixes
  • EnableDDrawCompat
  • MousePollingRate
  • MouseSensitivity
  • PresentDelay
  • SpriteAltPixelCenter
  • SupportedDevices
  • SupportedRefreshRates

Removed configuration settings:

  • AlignSysMemSurfaces: use CompatFixes=unalignedsurfaces instead of AlignSysMemSurfaces=off
  • GdiStretchBltMode: use CompatFixes=nohalftone instead of GdiStretchBltMode=coloroncolor
  • RemoveBorders: use CompatFixes=nowindowborders instead of RemoveBorders=on

DDrawCompat v0.5.4

25 Aug 20:31
Compare
Choose a tag to compare
DDrawCompat v0.5.4 Pre-release
Pre-release

General changes:

  • Fixed occasional frame drops on NVIDIA GPUs (#298)
  • Fixed graphical artifacts in Nocturne (#336)
  • Fixed VertexFixup=cpu setting not working on older Intel GPUs (#340)
  • Fixed performance issues on old versions of Intel's new native driver, igd9trinity32.dll
  • Fixed a crash when the GPU driver's WDDM version is higher than what the runtime supports
  • Fixed an occasional deadlock when alt-tabbing
  • Fixed some issues with DPI unaware cursor positioning (#342)
  • Fixed an occasional crash when closing the Config overlay (#342)
  • Added support for games using ddrawex.dll (#349)

Updated configuration settings:

  • ForceD3D9On12: added forceoff option, the off option no longer replaces D3D9On12 with igd9trinity32.dll
  • StatsRows: added vblankcount, vblankrate, vblanktime options
  • VSync: added wait option

New configuration settings:

  • ViewportEdgeFix

DDrawCompat v0.5.3

02 Jul 22:40
Compare
Choose a tag to compare
DDrawCompat v0.5.3 Pre-release
Pre-release

General changes:

  • Fixed blocking of the ForceDirectDrawEmulation shim (#280)
  • Fixed a crash on some old Intel drivers (#299, #302, #315)
  • Fixed windowed mode presentation (#298, #308, #312, #314)
  • Fixed dialog boxes not appearing in Lego Loco (#179)
  • Added missing check for invalid color depth during display mode change (#303)
  • Fixed resolution scaling with D24S8 depth format when S8D24 is not supported (#300)
  • Fixed some flickering GUI elements in Sacred Gold
  • Fixed video playback on systems that have the VMR-9 DirectShow filter enabled (#299)
  • Fixed launcher window turning black in Wild Wild West: The Steel Assassin (#306)
  • Fixed rendering issues in Ultima IX when the game's MultiPassChromakey setting is set to 1 or 2
  • Fixed a race condition that could cause a crash when installing hooks (#306)
  • Fixed AltTabFix=keepvidmem(1) not keeping the back buffers of the primary surface chain (#316)
  • Removed dependency on the Windows debugger engine (dbgeng.dll) (#318)
  • Fixed blank config/stats overlays on AMD Radeon RX 7xxx GPUs (#325)
  • Improved the fix for inaccurate cursor clipping in DPI unaware mode (#319)
  • Fixed missing ground textures in Carnivores on some GPUs (#320)
  • Fixed stuttering fullscreen presentation in some cases (#298)
  • Fixed a window clipping issue when moving dialog boxes in Close Combat 4
  • Fixed a performance issue with windowed fullscreen GDI presentation on some systems (#273)
  • Fixed oversized dialog windows (except non-client area) in some fullscreen games in DPI aware mode
  • Fixed mispositioned trackbar sliders in Red Alert 2 in DPI aware mode
  • Fixed ColorKeyMethod=alphatest not working on some textures in Carnivores
  • Fixed broken presentation after switching from fullscreen to windowed mode in some games
  • Fixed a deadlock when alt-tabbing in Star Trek: Armada with the config overlay open
  • Fixed hotkeys not working in some games that use DirectInput 8
  • Fixed presentation in some palettized fullscreen games, e.g. Carmen Sandiego's Great Chase Through Time
  • Fixed incorrect texture filtering applied in some cases, e.g. to trees in Carnivores
  • Fixed invisble network detection window in Empire Earth NeoEE (#251)

Updated configuration settings:

  • StatsRows: ddiusage was removed from the default value to improve performance

New configuration settings:

  • GdiStretchBltMode
  • VertexFixup

Update (October 6, 2024): The v0.5.2-17-g291e50ac and older builds in the DDrawCompat-v0.5.3-debug-previous-builds.7z asset were broken by the Windows 11 24H2 update. Patched builds have been added with the DDrawCompat-v0.5.3-debug-previous-builds-win11-24h2.7z asset to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes. v0.5.2-18-g89b2a631 and newer builds are also included for completeness' sake. These were simply recompiled without source code changes.

DDrawCompat v0.5.2

21 Apr 21:34
Compare
Choose a tag to compare
DDrawCompat v0.5.2 Pre-release
Pre-release

General changes:

  • Fixed incompatibilities with Empire Earth NeoEE mod (#251)
  • Fixed black screen and ClipCursor issues in Mig Alley main menu
  • Fixed main menu issues with WinZMod (#196)
  • Fixed sporadic crashes caused by registry hooks
  • Fixed Dark Earth screen transition effects (#260)
  • Fixed invisible menu buttons after alt-tabbing in Red Alert 2 (#262)
  • Fixed slow loading of Skirmish menu in Red Alert 2 (#288)
  • Fixed broken keyboard input in some games (#254)
  • Fixed a GDI resource leak when NVIDIA overlay is enabled (#282)
  • Fixed video playback issues in Prince of Persia 3D (#273)
  • Fixed Intel Indeo Video codec support on Windows 7 (#274)
  • Fixed display driver timeouts caused by invalid FPU state (#293)
  • Fixed rendering issues caused by custom viewports on AMD GPUs (#290)
  • Fixed sporadic deadlocks in some games when alt-tabbing
  • Fixed handling of invalid alpharef render state value on old Intel drivers (#295)
  • Fixed flashing screen in Glover (#295)
  • Fixed inaccurate cursor clipping in DPI unaware mode
  • Fixed some display issues when using D3D9On12 with a RenderColorDepth setting not matching the application's color depth
  • When ForceD3D9On12 is off, Intel GPUs that use D3D9On12 by default will now try to use igd9trinity32.dll instead
  • Available surface formats now include all DX9 formats (#259)
  • Added support for Steam overlay in fullscreen mode

Updated configuration settings:

  • AltTabFix: merged keepwithmemnp into keepvidmem as a parameter, added noactivateapp option
  • RenderColorDepth: default value changed to 32

New configuration settings:

  • SurfacePatches

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

DDrawCompat v0.5.1

17 Nov 21:19
Compare
Choose a tag to compare
DDrawCompat v0.5.1 Pre-release
Pre-release

This release fixes some issues introduced in v0.5.0:

  • Fixed an issue that made DDrawCompat unusable with Intel GPU drivers (#255, #256)
  • Fixed the DisplayFilter=point setting not working as expected (#252)
  • Reverted a small fix that could cause a crash (#256)

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

DDrawCompat v0.5.0

12 Nov 23:37
Compare
Choose a tag to compare
DDrawCompat v0.5.0 Pre-release
Pre-release

General changes:

  • Fixed crashes when loading hooks on Windows 7 (#149)
  • Fixed a crash caused by a clipper reference counting error
  • Fixed texture creation errors in Extreme-G 2 (#159)
  • Fixed a GDI resource leak and other issues with emulated hardware cursors (#148, #152)
  • Fixed several crashes and other issues related to D3D9On12
  • Fixed QuickTime videos in Carmen Sandiego series (#156)
  • Fixed a black screen issue when app resolution is higher than display resolution
  • Fixed a deadlock when exiting Age of Wonders (#167)
  • Disabled timer resolution throttling to fix some stuttering issues
  • Fixed occasional deadlocks when alt-tabbing
  • Added emulation of unsupported render target formats to fix NVIDIA rendering issues in Midtown Madness 2 (#159)
  • Fixed palettized color fills on NVIDIA GPUs (#201)
  • Fixed HUD glitches in Jane's FA-18 (#175)
  • Fixed black briefing screen in StarCraft (#206)
  • Fixed a deadlock when using resolution scaling (#197)
  • Fixed a crash in CreateDIBitmap when BITMAPINFO is null
  • Reverted sRGB gamma correction on bilinear blits that was accidentally introduced in v0.4.0 (#208)
  • Fixed incorrect detection of default gamma ramps and a crash related to using non-default gamma ramps (#216)
  • Fixed invisible dialog windows in RollerCoaster Tycoon (#225)
  • Clicking on the scroll bar shafts in the config overlay now scrolls by 5% instead of jumping immediately to the cursor position
  • Windows compatibility shims can no longer override the FullscreenMode=borderless setting to exclusive (#235)
  • Reduced screen flickering during temporary display mode changes in fullscreen mode
  • Fixed most of the cursor trail issues in Lego Loco (#179)
  • Intel Indeo Video codecs are now automatically enabled for processes running with DDrawCompat
  • Fixed a crash in Colin McRae Rally (#232)
  • Fixed software rendered palettized textures when the PalettizedTextures setting is set to off
  • Added a workaround for OBS window recording: use a target window whose title begins with the "[DDrawCompat]" prefix (#109)
  • Fixed taskbar thumbnails (#231)
  • Improved support for DPI unaware mode on high DPI displays
  • DirectDraw no longer forces the high DPI aware compatibility setting on the executable when it enters fullscreen mode
  • Broken tooltip fade animations are now replaced with the classic slide animations
  • DPI scaling no longer affects emulated hardware cursors, which resulted in oversized cursors
  • Fixed FlipToGDISurface result code when the GDI surface is already active (#204)
  • Maximum reported disk space is limited to 2GB to fix some applications getting a "not enough free disk space" error
  • Fixed an occasional crash caused by resolution scaling when alt-tabbing in Need for Speed III
  • Added support for depth fill blits on NVIDIA GPUs
  • Depth fills now work correctly with antialiased and resolution scaled depth buffers
  • Fixed hotkeys not working in some cases
  • Added a configuration file with default settings (commented out) in the Tools directory of the source code
  • Added a stats overlay (see new settings starting with the Stats prefix below)

Updated configuration settings:

  • AltTabFix: added keepvidmemnp option
  • ConfigHotKey: added alt and ctrl as synonyms for menu and control respectively
  • DisplayFilter: added bicubic, lanczos and spline options
  • PalettizedTextures: default value changed to off
  • RenderColorDepth: added appd8, appd10, 16d8, 16d10 and 32d10 options

New configuration settings:

  • ColorKeyMethod
  • ConfigRows
  • ConfigTransparency
  • CpuAffinityRotation
  • CrashDump
  • DepthFormat
  • DesktopResolution
  • DisplayAspectRatio
  • StatsColumns
  • StatsAggregateTime
  • StatsHotKey
  • StatsPosX
  • StatsPosY
  • StatsRows
  • StatsTransparency
  • StatsUpdateRate
  • SupportedDepthFormats
  • SupportedTextureFormats
  • TerminateHotKey
  • VertexBufferMemoryType

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

DDrawCompat v0.4.0

27 Sep 20:30
Compare
Choose a tag to compare
DDrawCompat v0.4.0 Pre-release
Pre-release
  • Fixed hooking of delay-loaded DLL functions (#99)
  • GDI redirection is now restricted to the main monitor in fullscreen mode, which fixes display issues with games not respecting surface pitch (#110)
  • Fixed conflicts with outdated versions of DbgHelp.dll shipping with some games
  • Fixed performance issues caused by D3DKMTWaitForVerticalBlankEvent on Windows 7 (#120)
  • Prevent Windows 7 from dynamically disabling desktop composition, which fixes main menu flickering in Rogue Spear (#126)
  • Added a partial workaround for a bug affecting NVIDIA drivers, where black texels were treated as transparent even when color keying was disabled for the texture stage
  • Fixed an issue with the application taskbar button sometimes remaining in the taskbar after exiting the application
  • Added a file-based configuration system and an in-game config overlay (see the wiki for details)
  • Removed the ReleaseWithDebugLogs build type, since LogLevel is now configurable
  • New configuration options:
    • AlignSysMemSurfaces
    • AlternatePixelCenter
    • AltTabFix
    • Antialiasing
    • BltFilter
    • ConfigHotkey
    • CpuAffinity
    • DesktopColorDepth
    • DisplayFilter
    • DisplayRefreshRate
    • DisplayResolution
    • DpiAwareness
    • FontSmoothing
    • ForceD3D9On12
    • FpsLimiter
    • FullscreenMode
    • LogLevel
    • PalettizedTextures
    • RemoveBorders
    • RenderColorDepth
    • ResolutionScale
    • ResolutionScaleFilter
    • SoftwareDevice
    • SpriteDetection
    • SpriteFilter
    • SpriteTexCoord
    • SupportedResolutions
    • TextureFilter
    • ThreadPriorityBoost
    • VSync
    • WinVersionLie

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

DDrawCompat v0.3.2

27 Sep 20:28
Compare
Choose a tag to compare
DDrawCompat v0.3.2 Pre-release
Pre-release
  • Fixed a deadlock when loading DDrawCompat on Windows 11 22H2

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

DDrawCompat v0.3.1

16 May 15:58
Compare
Choose a tag to compare
DDrawCompat v0.3.1 Pre-release
Pre-release
  • Fixed/reduced mouse cursor flickering in Icewind Dale 2 and The Nations Gold (#91)
  • Fixed disabled buttons not showing up in Gangsters: Organized Crime (#95)
  • Fixed misaligned splash window background in Star Trek: Armada (#94).
  • Fixed a crash caused by implicit release of clippers in Conquest: Frontier Wars and Midtown Madness 1 (#96, #97)
  • Fixed a crash caused by index buffer overflow in Laghaim (#98)
  • Fixed a crash at startup in the Debug build (#96)
  • Added support for unicode file paths (for logging)

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.

DDrawCompat v0.3.0

08 Apr 23:08
Compare
Choose a tag to compare
DDrawCompat v0.3.0 Pre-release
Pre-release
  • Removed dependency on Detours. Starting from this release, binary releases use the same license as the source code: BSD Zero Clause License
  • WDDM graphics drivers are now a requirement (only affects Windows Vista and 7, which would otherwise still support the legacy XPDM drivers)
  • Changed log file name to DDrawCompat-ExeName[InstanceId].log
  • Added support for some alternative hooking methods (see the Wiki for details)
  • Added support for large 3D resolutions (above 2k pixels)
  • Improved Direct3D performance in many games
  • GDI interworking is now also enabled in windowed mode
  • Fixed many GDI and palette related display glitches
  • Fixed some incompatibilities with Steam overlay
  • Fixed some driver issues causing display glitches in some games
  • Other miscellaneous bug fixes

Update (October 6, 2024): This release was broken by the Windows 11 24H2 update. Patched builds have been added with the win11-24h2 suffix to resolve the issue by backporting the following commit: 89b2a63. See diff.txt in the new builds for the exact changes.