Unoffical DWM Compatibility Shim for Starcraft: Broodwar and Warcraft 2: Battle.Net Edition

It is designed to fix the in-game battle.net screen visual corruption and artifacts. It also converts the video output to 32 bits per pixel to avoid the palette corruption problems on Windows Vista and Win7.

WARNING: This DirectDraw proxy dll will trip Battle.nets ANTI-CHEAT defenses.
It is intended for use on custom pvpgn servers only (where allowed).

war2_ddraw_test4.zip ( source on github )

Win8 and Win10 users can use war2_ddraw_minimal.zip instead of full version above. ( source on github )

Install by placing the hack's ddraw.dll into your game folder.


Some background on DWM composition issues here.

tl;dr
DWM redirects GDI and DDRAW drawing to different layers. Which prevents DDRAW from erasing things drawn by GDI.

Vista/Win7 automatically disables DWM when the game launches.
If we prevent DWM from being disabled then the same Win8 problem occurs on Vista/Win7
In Win8/Win10 DWM can not be disabled.

A proper fix for this issue would require the ability to redirect GDI drawing operations to an offscreen device context under our control, including the drawing done by the default USER32 WndProcs. Instead, this mod tries to sync bits between ddraw and gdi surfaces during dd->Lock/Unlock.


bitpatch.com